/**
 * jims
 */
package com.jims.master.modules.drug.dao;

import com.jims.master.common.persistence.CrudDao;
import com.jims.master.common.persistence.annotation.MyBatisDao;
import com.jims.master.common.web.impl.BaseDto;
import com.jims.master.modules.drug.entity.DrugExportDetail;
import com.jims.master.modules.drug.entity.DrugInfo;
import com.jims.master.modules.drug.entity.DrugStock;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 药品出库明细DAO接口
 * @author fengyg
 * @version 2017-03-16
 */
@MyBatisDao
public interface DrugExportDetailDao extends CrudDao<DrugExportDetail> {

    /**
     * 药品出库选择有库存有价格的药品自动补全(当前库房)
     * @param drugInfo 药品基本信息
     * @param orgId 组织机构ID
     * @param storageId 库房ID
     * @return
     * @author fengyg
     * @date 2017-03-17
     */
    public List<DrugExportDetail> autoExportStock(@Param("drugInfo") DrugInfo drugInfo, @Param("orgId") String orgId, @Param("q") String q, @Param("limit") String limit,@Param("storageId")String
            storageId);

    /**
     * 根据供货方ID(storageId)查询需要批量入库的数据
     * @param storageId 供货方ID
     * @param receiver 收货方ID
     * @param orgId 组织机构ID
     * @return
     * @author fengyg
     */
    public List<DrugStock> getBatchImportList(@Param("storageId")String storageId,@Param("receiver")String receiver,@Param("orgId")String orgId);

    /**
     * 出库详情查询
     * @param drugExportDetail
     * @return
     */
    public List<DrugExportDetail> findBymasterId(DrugExportDetail drugExportDetail);

    /**
     * 出库单据查询
     * @param drugExportDetail
     * @return
     */
    public List<DrugExportDetail> findDetailList(DrugExportDetail drugExportDetail);

    /**
     * 出库单据打印
     * @param drugExportDetail
     * @return
     */
    public List<BaseDto> findDetailListPrint(DrugExportDetail drugExportDetail);

    /**
     * 打印品种数量统计
     * @param drugExportDetail
     * @return
     */
    public DrugExportDetail findNumByName(DrugExportDetail drugExportDetail);


    /**
     * 根据主表id获取字表的list
     * @return
     */
    public List<DrugExportDetail> findByExportMaster(@Param("masterId")String masterId);


}